import java.util.Stack;

public class code2 {
//    力扣 top150 反转字符串中的单词
public String reverseWords(String s) {
    // 首先通过 split 针对 “ ” 进行字符串分割
    String[] c = s.split(" ", -1);
    // 再定义一个 StringBuffer 来组织返回值
    StringBuffer re = new StringBuffer();
    Stack<String> stack = new Stack<>();

    // 通过栈将所有的单个元素进行存储，排除掉所有的 “”
    int flag = 0;
    while(flag < c.length) {
        // 需要注意的是，" " 被 split 分割后就成为了 ""
        if(c[flag] == "") {
            flag++;
            continue;
        }
        stack.push(c[flag]);
        flag++;
    }

    // 将栈中的元素弹出并且组织成为一个 字符串
    while(!stack.isEmpty()) {
        re.append(stack.pop());
        re.append(" ");
    }
    // 删除掉最后一个位置上多余添加的 " "
    re.deleteCharAt(re.length() - 1);

    return re.toString();
}
}
